Controlling three-dimensional views of selected portions of content

ABSTRACT

Some embodiments of the inventive subject matter are directed to determining that at least a portion of content would be obscured by a border of a graphical user interface if the content were to be presented in a two-dimensional state via the graphical user interface, and presenting the at least the portion of the content in a stereoscopic three-dimensional state in response to the determining that the at least the portion of the content would be obscured by the border of the graphical user interface, wherein a stereoscopic depth effect of the stereoscopic three-dimensional state makes the at least the portion of the content appear to extend beyond the border of the graphical user interface.

RELATED APPLICATIONS

This application is a continuation of, and claims priority benefit to,U.S. patent application Ser. No. 12/965,375, filed Dec. 10, 2010. TheSer. No. 12/965,375 Application is incorporated herein by reference.

BACKGROUND

Embodiments of the inventive subject matter generally relate to thefield of presenting and controlling data, and, more particularly, tomulti-dimensional presentations of content.

Space limitation on a user interface (UI) is a prevalent problem forapplications rendered on all types of displays such as monitors,workstations, and mobile devices. The displays have specific dimensionswithin which the user interface is presented. The dimensions are limitedby the physical size of the display hardware. An application developermust, therefore, make design choices regarding how content is displayedgiven the space limitations of the hardware. Presentation of userinterfaces for the applications is, therefore, limited to the designspecifications dictated by the application developer.

SUMMARY

Some embodiments of the inventive subject matter are directed todetermining that at least a portion of content would be obscured by aborder of a graphical user interface if the content were to be presentedin a two-dimensional state via the graphical user interface presentingthe at least the portion of the content in a stereoscopicthree-dimensional state in response to the determining that the at leastthe portion of the content would be obscured by the border of thegraphical user interface, wherein a stereoscopic depth effect of thestereoscopic three-dimensional state makes the at least the portion ofthe content appear to extend beyond the border of the graphical userinterface.

BRIEF DESCRIPTION OF THE DRAWINGS

The present embodiments may be better understood, and numerous objects,features, and advantages made apparent to those skilled in the art byreferencing the accompanying drawings.

FIG. 1 is an example conceptual diagram of presenting a portion ofcontent in a three-dimensional view in context of other portions of thecontent in a two-dimensional view.

FIG. 2 is a flowchart depicting example operations for presenting aportion of content in a three-dimensional view in response to user inputand modifying presentation of the three-dimensional view in response toadditional user input.

FIGS. 3-5 are example conceptual diagrams of presenting various portionsof content on a graphical user interface in three-dimensional views.

FIGS. 6-9 are example conceptual diagrams of presenting various portionsof content on a graphical user interface of a mobile device inthree-dimensional views.

FIG. 10 depicts an example computer system.

DESCRIPTION OF EMBODIMENT(S)

The description that follows includes exemplary systems, methods,techniques, instruction sequences, and computer program products thatembody techniques of the present inventive subject matter. However, itis understood that the described embodiments may be practiced withoutthese specific details. For instance, although examples refer to sometypes of three-dimensional viewing technologies, other instances mayinclude other three-dimensional techniques and/or technologies such as,but not limited to, anaglyph images, polarized projections,autostereoscopic displays, computer-generated holography, volumetricdisplays, infrared laser projections, side-by-side viewing,autostereograms, pulfrich effects, prismatic & self-masking crossviewglasses, lenticular prints, displays with filter arrays, wigglestereoscopy, active 3D viewers (e.g., liquid crystal shutter glasses,red eye shutterglasses, virtual reality headsets, personal mediaviewers, etc.), passive 3D viewers (e.g., linearly polarized glasses,circularly polarized glasses, interference filter technology glasses,complementary color anaglyphs, compensating diopter glasses for red-cyanmethod, ColorCode 3D, aromaDepth method and glasses, Anachromecompatible color anaglyph method, etc.), 3D televisions, somecombinations therefore, etc. In other instances, well-known instructioninstances, protocols, structures, and techniques have not been shown indetail in order not to obfuscate the description.

As mentioned previously, user interfaces (e.g., graphical userinterfaces or GUIs) are limited. For example, user interfaces havetypically rendered depictions of content using two-dimensional (2D)views. Embodiments of the inventive subject matter, however, presentselected portions of content using three-dimensional (3D) views. Someembodiments can present the selected portions of the content in 3D whilesimultaneously presenting other portions of the content in 2D. Someembodiments further can present the 3D portions in context with the 2Dportions of the content.

FIG. 1 is an example conceptual diagram of presenting a portion ofcontent in a three-dimensional view in context of other portions of thecontent in a two-dimensional view. In FIG. 1, a system 100 includes acomputer 137 configured to receive user input (e.g., via a keyboard, amouse, etc.). The computer 137 presents content, such as a window 101that presents objects 140 and 141, on a display 120 (e.g., via acomputer desktop, a GUI workspace or dashboard, etc.). The computer 137can also be connected to a server 150 via a communications network 122.One or more components of the system 100, such as the computer 137 orthe server 150, detect a user interaction with a portion of content. Forexample, at stage “A,” the system 100 detects a user input (e.g., amouse touch-and-click event using the mouse pointer 104) that selectsthe object 141 within the window 101.

The system 100, at stage “B,” changes a view, or rendering, of theobject 141 from a two-dimensional view (e.g., where the object 141appears to have only a length and width) to a three-dimensional view(e.g., where the object 141 appears to have a length, width and depth).The changing from 2D to 3D includes, in some embodiments, modifying therendering of the structure of the object 141 so that the structure ofthe object 141 appears to have the perception of binocular stereoscopicdepth. To do so, the display 120 may be configured as a 3D displayand/or a user interface controller (e.g., an operating system of thecomputer 137) can be configured to generate 3D effects for portions ofcontent. The system 100 can, therefore, turn on the 3D renderingcapabilities of the display 120 only for the object 141 and not, forexample, for the window 101, the object 140, or any other non-selectedportion of the content. In other embodiments, the system 100 may utilizea 3D display technology that does not require the display 120 to be 3Denabled, but that may instead utilize a 3D viewer, such as 3D glasses130, a 3D screen over the display 120, or any other 3D viewing mechanismbetween the display 120 and a user's eyes. For instance, the system 100may modify the structure of the object 141 to be an anaglyph image.Anaglyph images are used to provide a stereoscopic 3D effect when viewedwith glasses where the two lenses of the glasses are different (usuallychromatically opposite) colors, such as red and cyan. The anaglyphimages are made up of two color layers (one for each eye), superimposed,but offset with respect to each other to produce a depth effect to aspecific object when viewed through the glasses. Usually the specificobject is in the center, while the foreground and background are shiftedlaterally in opposite directions. When the two color layers are viewedsimultaneously through the anaglyph glasses, an integrated stereoscopicimage appears. The visual cortex of the brain fuses the two images intothe perception of a three-dimensional scene or composition. Thus, in oneexample, the system 100 presents structural elements of the object 141in the two color layers in an offset position to each other that, withthe assistance of the 3D glasses 130, appear to present binocularstereoscopic depth. The color layers of the object 141, without the 3Dglasses 130, may appear overlapped, stacked, tightly grouped, etc. Withthe 3D glasses 130, however, the color layers of the object 141 comeinto 3D view.

In another example, the system 100 may instead render structuralelements of the object 141 as a 3D image that can be viewed withpolarized 3D glasses. Polarized 3D glasses create the illusion ofthree-dimensional images by restricting the light that reaches each eye,an example of stereoscopy which exploits the polarization of light. Topresent a stereoscopic video, for example, two images are projectedsuperimposed onto the same screen through different polarizing filters.The viewer wears eyeglasses which also contain a pair of differentpolarizing filters. Each of the viewer's eyes sees a different image aseach filter passes only that light which is similarly polarized andblocks the light polarized in the opposite direction. The use of thepolarized 3D glasses thus produces a three-dimensional effect byprojecting the same scene into both the viewer's eyes, but depicted fromslightly different perspectives. Since no head tracking is involved,several people can view the stereoscopic images at the same time.

In another example, the system 100 may utilize an autostereoscopicdisplay for the display 120. Autostereoscopic displays use opticaltrickery at the display hardware to ensure that each eye sees theappropriate image. A 3D viewer is not required to be worn by the user.Autostereoscopic displays generally allow the user to move their head acertain amount without destroying the illusion of depth.

Also, at stage “B,” the system 100 can modify text 147 to appear in 3D.The system 100 imparts a stereoscopic 3D depth effect to the text 147which causes the text to appear closer to the user. The system 100 alsomodifies the kerning of the text, causing the appearance of thecharacters to be closer to each other and, in some instances, allowingmore text to appear in a bounded area related to the object 141. Thestereoscopic 3D depth effect generated by the system 100, however,causes the text 147 to appear clear and readable even though the kerningcauses the characters to be closer to each other.

Further, also at stage “B,” the system 100 can render the object 141 in3D while maintaining a context of the object 141 in relation to otherportions of content. For example, at stage “A,” the object 141 ispositioned to the left and primarily below the object 140. The object141 is connected to the second object 140 via a connector 145. At stage“B,” the system 100 causes the object 141 to appear 3D, but stillremains positioned to the left and primarily below the object 140.Further, the system 100 causes the object 141 to remained connected tothe object 140 via the connector 145. In some embodiments, the system100 can cause a portion 146 of the object 141 to appear to overlap aportion of the object 140.

FIG. 2 is a flowchart depicting example operations for presenting aportion of content in a three-dimensional view in response to user inputand modifying presentation of the three-dimensional view in response toadditional user input. For exemplary purposes, operations associatedwith the blocks in FIG. 2 will be described as being performed by asystem, which may, for example, include any or all of the elementsdescribed in FIG. 1 and/or FIGS. 3-10. FIG. 2 illustrates a flow 200that the system can perform.

Referring to FIG. 2, the system presents a first portion of content anda second portion of content in a two-dimensional view via a graphicaluser interface (GUI), where the first portion is associated with a firstposition in the GUI and the second portion is associated with a secondposition in the GUI (202). The first and second positions can becoordinates on a display. The system presents the first portion of thecontent simultaneously with the second portion of the content.

Further, the system detects a selection of the first portion of thecontent (204). In some embodiments, the selection may be via direct userinput, such as via a mouse touch-and-click event. In other embodiments,the selection may be related to, though not directly indicated by a userinput. For example, the first portion of content may be configured toreact to a change of state of the second portion of the content, orexpress activity performed by user input to the second portion of thecontent. As a result, the system may select the first portion of thecontent in response to the change of state of the second portion of thecontent.

Further, the system changes the first portion of the content from thetwo-dimensional view to a three-dimensional view in response todetecting the selection of the first portion of the content whilemaintaining the second portion of the content in the two-dimensionalview and while maintaining the first position of the first portion ofthe content relative to the second position of the second portion of thecontent (206). The system can change the first portion of the contentfrom the two-dimensional view to the three-dimensional view by modifyingvisual elements of the first portion of the content to have astereoscopic depth effect. The stereoscopic depth effect can beperceptible by a 3D viewing mechanism (e.g., a passive 3D viewer, anactive 3D viewer, a 3D screen overlay, etc.), presentable by 3D-enableddisplay hardware, or presentable by one or more 3D presentationtechniques that can present the stereoscopic depth effect using2D-enabled display hardware. The system can maintain the first positionof the first portion of the content relative to the second position ofthe second portion of the content by keeping the first portion of thecontent in a similar position to where it was when it was presented inthe 2D view. In some embodiments, the system may anchor, or pin, thefirst portion of the content to a coordinate or to a range ofcoordinates. The system can further associate (e.g., tether, link, etc.)the first portion of the content with the second portion of the contentso that if the second portion of the content moves, the first portion ofthe content will move as well and maintain a relative position to thesecond portion of the content. The system, thus, can cause that thefirst portion of the content to remain in context with the secondportion of the content.

Further, the system detects whether an interaction occurs with the firstportion of the content (208). For example, the system may detect a userinput that attempts to move the first portion of the content. In otherembodiments, the interaction may be a result of physics reactions byother objects, such as objects associated with the second portion of thecontent. In other embodiments, the interaction may be by automatedfunctions associated with the content.

If the system detects a second user input, then the system presents athree-dimensional reaction with the first portion of the content in thethree-dimensional view, according to the second user input, whilemaintaining the first position of the first portion of the contentrelative to the second position of the second portion of the content(210). For example, the system can rotate the portion of the content onone or more axis and present details associated with multiple angles, orviews, of the first portion of the content.

FIGS. 3-5 are example conceptual diagrams of presenting various portionsof content on a graphical user interface in three-dimensional views.FIGS. 3-5 illustrate one or more of the operations described in flow200. For example, in FIG. 3, the system presents a window 301. Thewindow 301 is a graphical user interface. The window 301 includes atoolbar 320, an area 321, and a body 322. The body 322 presents agrouping of objects 330. The objects 330 represent a map of clustereditems, such as a network of computers or devices. Each of the objects330 represents a separate item. The objects 330 are grouped in ahierarchical manner. For example, a root item (“Root”) begins thehierarchy. The hierarchy has two separate branches of items, an “A”branch and a “B” branch. The “A” branch of items follow a first path 350and the “B” branch of items follows a second path 340. The systemdetects a selection of the second path 340 (e.g., a user selects any oneof the objects 330 in the second path 340). The area 321 specifies, viaa text string 327 a representation of as many of the objects 330 in thebranch for the second path 340 that fit within the area 321. The textstring 327 may list the objects 330 of the second path 340 in descendingorder of the hierarchy. As some point, as more of the objects 330 aregenerated on the second path 340, the second path 340 increases inlength, causing the text string 327 to increase in length. Consequently,the text string 327 no longer fits within the area 321.

In some embodiments, the system can present a prompt 353 that the textstring 327 is approaching a boundary 337 of the area 321. The prompt 353includes a message to the enable a 3D presentation of the text string327 within the area 321. The prompt may include controls 354 and 355.For example, if the user selects the control 354, which accepts theprompt 353, then the system can select the text string 327 and cause thetext string 327 to change from a 2D view to a 3D view. In otherembodiments, the system presents a control 312 that a user can selectvia user input, for example, by positioning a mouse pointer 304 over thecontrol 312 and clicking a mouse button or striking a keyboard key. Thesystem can detect a user input via the control 312 and can cause thechange from the 2D view to the 3D view.

Referring to FIG. 4, the system causes the area 321 to have theperception of binocular stereoscopic depth. In some embodiments, a usermay be required to use a 3D viewer, such as 3D glasses 430. The 3Dglasses 430 may include sensors 431 that can detect when a user puts onthe glasses. The system can, by detecting when a user puts on theglasses, cause selected portions of content to appear 3D.

Still referring to FIG. 4, in a 3D view, the system causes a firstportion, or back 425 of the area 321 to appear to be farther away froman observer and a second portion, or front 426 of the area 321 to appearto be closer to an observer. As a result of the binocular stereoscopicdepth, the system causes the text string 327 associated with the area321 to appear to be further from the user's view toward the back 425 andcloser to the user's view toward the front 426 of the area 321. Thesystem thus causes the appearance of text string 327 to become smallerin size toward the back 425 and larger in size toward the front 426 asthe second path 340 grows in length. In other words, the systemautomatically changes the appearance of the text string 327 to fit intothe area 321 according to the size of the second path 340. In someembodiments, the system automatically changes the kerning, theperspective, the shape, the size, or other characteristics of the fontbased on an amount of data that needs to be presented in the area 321,based on a resolution for a display on which the window 301 ispresented, based on capabilities of the 3D technology associated withthe display on which the window 301 is presented, based on capabilitiesof a 3D viewer that a user uses to view the window 301, etc. Forinstance, the system can change the kerning to cause text characters tobe closer to each other. However, because the system also applies a 3Dstereoscopic effect, portions of the text may stand out more thanothers. For instance, the system can cause the right side of a textstring to appear closer to a user than a left side of a text string, andthus the perception of depth makes the text easy to read even though thecharacters are closer to each other.

Referring back to FIG. 3, the system modifies other selected portionsthe content of the window 301. For example, the system can detect anactivation of a control 310. The activation of the control 310 causesthe toolbar 320, in FIG. 4, to appear bent, with the outer portionsappearing to stick out toward the Observer white an inner portion of thetoolbar 320 appears to be further away from the observer. The benteffect of the toolbar 320 may also be a result of a 3D perception ofbinocular stereoscopic depth. The system can also modify a degree ofparallax, or 3D depth, based on a number of icons to be displayed on thetoolbar 320. For example, the system may require two additional icons415 to be presented on the toolbar 320. As a result, the system maymodify the parallax of the 3D effect on the toolbar 320 to cause theappearance of the toolbar 320 have a proper amount of bend and depththat allows all of the previously presented icons and the two additionalicons 415.

Because the system causes the text string 327, the area 321, and thetoolbar 320 to have a 3D appearance, the system extends a viewable areaof the selected portions of the content. Further, the system causes thearea 321 to change into 3D when selected, but also causes other portionsof the window 301 to appear 2D, such as a frame for the window 310.Further, the system causes the area 321 and the toolbar 320 to maintaina relative position to the frame of the window 301, In other words, thesystem causes the area 321 and the toolbar 320 to remain at an upperportion of the window 301 where they would appear in 2D.

As mentioned previously, in some embodiments, the 3D view of the area321 and the toolbar 320 may require the use of a passive 3D viewer, suchas the 3D glasses 430, which cause the area 321, for example, to appear3D but still remain within one or more dimensions (e.g., length orwidth), areas, boundaries, etc, of the window 301, such as a frame orborder 437 of the window 301. In other embodiments, however, as in FIG.5, the system can present the area 321, within an active 3D viewer 530.The active 3D viewers may be a virtual reality headset, a personal mediaviewer, etc., that includes 3D display capabilities within a display532. The system can, via the active 3D viewer 530, cause the boundary337 of the area 321 appear to extend beyond the border 437 of the window301 and beyond a border 537 of a display 520 on which the window 301 ispresented. The system can anchor the position of the area 321 relativeto the upper portion of the window 301, track head movements of a userwearing the active 3D viewer 530, and cause the location of the area 321appear to remain at the upper portion of the window 301.

Returning to FIG. 3, in some embodiments, the system can detect aselection of one of the objects 330 (e.g., the item 341). For instance,the system can detect when a user selects, a control 314 associated withthe item 341. The system can present a 3D view of the object 342associated with the item 341. In FIG. 4, the system presents the 3D viewof the object 342 as a 3D frame 442 that represents the object 342associated with the item 341. The system can further detect anadditional user input that interacts with the 3D frame 442. In responseto the additional user input, the system can cause the 3D frame 442 torotate in any direction and show different views or perspectives of the3D frame 442. The different views or perspectives can show visualdetails (e.g., characteristics, properties, specifications, etc.) of the3D rendition of the object 342 that is associated with the item 341. The3D frame 442 remains fixed, or anchored to, the position of the item341. In other words, the system continues to present the item 341 incontext with others of the objects 330. At the same time, however, thesystem presents the 3D frame 442 and rotates it to present various 3Dviews.

The system can further automatically change a 2D view to a 3D viewwithout a direct user indication to do so. For example, the system candetect activity that specifies that a 2D view may not be sufficient toextend a view or working space and automatically toggle a select portionof content to 3D. The system may, for instance, detect that the secondpath 340 is growing too long to fit into the area 321 and, as a result,automatically toggle the area 321 to a 3D view. In another example, thesystem may detect a specified number of items on a viewing area and,based on the number of the items, automatically enable 3D viewing. Forinstance, if the number of the objects 330 reaches a certain numberand/or the size of the objects 330 reaches a specific size because of adensity of the objects 330 within the window 301, the system can enable3D viewing for any of the objects 330. The system can also automaticallytoggle back to a 2D view. For instance, if a user selects one or more ofthe objects 330 in the first path 350, then the system may cause the 3Dframe 442, of FIG. 4, to automatically toggle back to the 2D view of theobject 342 shown in FIG. 3.

FIGS. 6-9 are example conceptual diagrams of presenting various portionsof content on a graphical user interface of a mobile device inthree-dimensional views. FIGS. 6-9 illustrate one or more of theoperations described in flow 200. For example, in FIG. 6, a mobiledevice 601 (e.g., a mobile phone, a reader, an electronic pad, etc.)includes a display 603. The display presents multiple objects 605, 606,and 607 in 2D perspectives. The system detects a selection of the object606 (e.g., via a user touch on the display 603). Consequently, as shownin FIG. 7, the system changes a 2D view of the object 606 to a 3D view,but maintains a position of the object 606 relative to the objects 605and 607.

In some embodiments, the system can respond to additional finger motionsthat rotate the object 606. In other embodiments, the system can respondto movement of the mobile device 601. For example, in FIG. 8, the systemdetects that the mobile device 601 is twisted in a first direction 803.The system detects the twisting of the mobile device 601 in the firstdirection 803 and causes the object 606 to rotate in the first direction803 in response to the twisting in the first direction 803. In otherwords, the system detects the motion of the mobile device 601 twistingon a vertical axis in the first direction 803. The system also detects aforce associated with the twisting of the mobile device 601 (e.g., viagyroscopic mechanisms, accelerometers, etc.), and imparts a rotationalphysics force to the object 606 which causes the object 606 to rotate inthe first direction 803 along a vertical axis for the object 606 andwith a proportional force.

In FIG. 9, the system detects that the mobile device 601 is twisted in asecond direction 906, which may be opposite to the first direction 803.The system can, in response to the twisting in the second direction 906,cause the object 606 to twist in the second direction. In otherexamples, however, the system may cause the object 606 to continuetwisting in the first direction 803, but slow the rotational movement ofthe object 606 as a result of the twist of the mobile device 601 in thesecond direction 906.

In some embodiments, the mobile device 601 can change 2D views to 3Dviews based on voice commands, recorded gestures (e.g., pre-specifiedfinger motions), etc.

As will be appreciated by one skilled in the art, aspects of the presentinventive subject matter may be embodied as a system, method or computerprogram product. Accordingly, aspects of the present inventive subjectmatter may take the form of an entirely hardware embodiment, an entirelysoftware embodiment (including firmware, resident software, micro-code,etc.) or an embodiment combining software and hardware aspects that mayall generally be referred to herein as a “circuit,” “module” or“system.” Furthermore, aspects of the present inventive subject mattermay take the form of a computer program product embodied in one or morecomputer readable medium(s) having computer readable program codeembodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent inventive subject matter may be written in any combination ofone or more programming languages, including an object orientedprogramming language such as Java, Smalltalk, C++ or the like andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The program codemay execute entirely on the user's computer, partly on the user'scomputer, as a stand-alone software package, partly on the user'scomputer and partly on a remote computer or entirely on the remotecomputer or server. In the latter scenario, the remote computer may beconnected to the user's computer through any type of network, includinga local area network (LAN) or a wide area network (WAN), or theconnection may be made to an external computer (for example, through theInternet using an Internet Service Provider).

Aspects of the present inventive subject matter are described withreference to flowchart illustrations and/or block diagrams of methods,apparatus (systems) and computer program products according toembodiments of the inventive subject matter. It will be understood thateach block of the flowchart illustrations and/or block diagrams, andcombinations of blocks in the flowchart illustrations and/or blockdiagrams, can be implemented by computer program instructions. Thesecomputer program instructions may be provided to a processor of ageneral purpose computer, special purpose computer, or otherprogrammable data processing apparatus to produce a machine, such thatthe instructions, which execute via the processor of the computer orother programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

FIG. 10 depicts an example computer system 1000. The computer system1000 includes a processor unit 1001 (possibly including multipleprocessors, multiple cores, multiple nodes, and/or implementingmulti-threading, etc.). The computer system 1000 includes memory 1007.The memory 1007 may be system memory (e.g., one or more of cache, SRAM,DRAM, zero capacitor RAM, Twin Transistor RAM, eDRAM, EDO RAM, DDR RAM,EEPROM, NRAM, RRAM, SONOS, PRAM, etc.) or any one or more of the abovealready described possible realizations of machine-readable storagemedia or computer readable storage media. The computer system 1000 alsoincludes a bus 1003 (e.g., PCI bus, ISA, PCI-Express bus,HyperTransport® bus, infiniBand® bus, NuBus bus, etc.), a networkinterface 1005 (e.g., an ATM interface, an Ethernet interface, a FrameRelay interface, SONET interface, wireless interface, etc.), and astorage device(s) 1009 (e.g., optical storage, magnetic storage, etc.).The computer system 1000 also includes a three-dimensional controller1021. The three-dimensional controller 1021 can modify selected portionsof content in three dimensions. Any one of these functionalities may bepartially (or entirely) implemented in hardware and/or on the processingunit 1001. For example, the functionality may be implemented with anapplication specific integrated circuit, in logic implemented in theprocessing unit 1001, in a co-processor on a peripheral device or card,etc. Further, realizations may include fewer or additional componentsnot illustrated in FIG. 10 (e.g., video cards, audio cards, additionalnetwork interfaces, peripheral devices, etc.). The processor unit 1001,the storage device(s) 1009, and the network interface 1005 are coupledto the bus 1003. Although illustrated as being coupled to the bus 1003,the memory 1007 may be coupled to the processor unit 1001.

While the embodiments are described with reference to variousimplementations and exploitations, it will be understood that theseembodiments are illustrative and that the scope of the inventive subjectmatter is not limited to them. In general, techniques for modifyingselected portions of content in three-dimensions as described herein maybe implemented with facilities consistent with any hardware system orhardware systems. Many variations, modifications, additions, andimprovements are possible.

Plural instances may be provided for components, operations, orstructures described herein as a single instance. Finally, boundariesbetween various components, operations, and data stores are somewhatarbitrary, and particular operations are illustrated in the context ofspecific illustrative configurations. Other allocations of functionalityare envisioned and may fall within the scope of the inventive subjectmatter. In general, structures and functionality presented as separatecomponents in the exemplary configurations may be implemented as acombined structure or component. Similarly, structures and functionalitypresented as a single component may be implemented as separatecomponents. These and other variations, modifications, additions, andimprovements may fall within the scope of the inventive subject matter.

What is claimed is:
 1. A method comprising: determining that at least aportion of content would be obscured by a border of a graphical userinterface in which the content is contained if the content were to bepresented in a two-dimensional state via the graphical user interface;and via at least one of one or more processors, presenting the at leastthe portion of the content in a stereoscopic three-dimensional state inresponse to the determining that the at least the portion of the contentwould be obscured by the border of the graphical user interface, whereina stereoscopic depth effect of the stereoscopic three-dimensional statemakes the at least the portion of the content that would be obscuredappear to extend beyond the border of the graphical user interface. 2.The method of claim 1, wherein the determining that the at least theportion of the content would be obscured by the border of the graphicaluser interface when presented in the two-dimensional state comprisesdetermining that a size of the at least the portion of content wouldextend beyond a visible region of the graphical user interface inresponse to a request to modify the content.
 3. The method of claim 1,wherein the presenting the at least the portion of the content in thestereoscopic three-dimensional state comprises modifying visual elementsof the at least the portion of the content to have the stereoscopicdepth effect.
 4. The method of claim 1 wherein the content is a textstring having a first portion presented in a window of the graphicaluser interface, wherein the border of the graphical user interfacecomprises a border of the window, wherein a length of the text stringwould increase in response to a change in state of the content, whereinthe at least the portion of the content comprises a second portion ofthe text string that is obstructed by the border of the window whenpresented in the two-dimensional state, and wherein the presenting theat least the portion of the content in the stereoscopicthree-dimensional state causes the second portion of the text string tobe appear to extend beyond the border of the window when presented inthe stereoscopic three-dimensional state.
 5. The method of claim 1,wherein the stereoscopic depth effect is perceptible by one or more of athree-dimensional viewing mechanism and an autostereoscopic display. 6.The method of claim 1 further comprising: detecting a change of state tothe content after the presenting the at least the portion of the contentin the stereoscopic three-dimensional state, wherein the change of thestate would cause the at least the portion of the content to not beobscured by the border of the graphical user interface when presented inthe two-dimensional state; and presenting the at least the portion ofthe content in the two-dimensional state in response to the change ofstate of the content.
 7. A system comprising: one or more processors;and a memory storage unit configured to store instructions, which whenexecuted by at least one of the one or more processors, cause the systemto perform operations to determine that at least a portion of contentwould be obscured by a border of a graphical user interface in which thecontent is contained if the content were to be presented in atwo-dimensional state via the graphical user interface, and present theat least the portion of the content in a stereoscopic three-dimensionalstate after determining that the at least the portion of the contentwould be obscured by the border of the graphical user interface, whereina stereoscopic depth effect of the stereoscopic three-dimensional statemakes the at least the portion of the content that would be obscuredappear to extend beyond the border of the graphical user interface. 8.The system of claim 7, wherein the operation to determine that the atleast the portion of the content would be obscured by the border of thegraphical user interface when presented in the two-dimensional statecomprises an operation to determine that a size of the at least theportion of content would extend beyond a visible region of the graphicaluser interface in response to a request to modify the content.
 9. Thesystem of claim 7, wherein the operation to present the at least theportion of the content in the stereoscopic three-dimensional statecomprises an operation to modify visual elements of the at least theportion of the content to have the stereoscopic depth effect.
 10. Thesystem of claim 7, wherein the content is a text string having a firstportion presented in a window of the graphical user interface, whereinthe border of the graphical user interface comprises a border of thewindow, wherein a length of the text string would increase in responseto a change in state of the content, wherein the at least the portion ofthe content comprises a second portion of the text string that isobstructed by the border of the window when presented in thetwo-dimensional state, and wherein the presenting the at least theportion of the content in the stereoscopic three-dimensional statecauses the second portion of the text string to be appear to extendbeyond the border of the window when presented in the stereoscopicthree-dimensional state.
 11. The system of claim 7, wherein thestereoscopic depth effect is perceptible by one or more of athree-dimensional viewing mechanism and an autostereoscopic display. 12.The system of claim 7, wherein the memory storage unit is configured tostore instructions, which when executed by at least one of the one ormore processors, cause the system to further perform operations to:detect a change of state to the content after the at least the portionof the content is presented in the stereoscopic three-dimensional state,wherein the change of the state would cause the at least the portion ofthe content to not be obscured by the border of the graphical userinterface when presented in the two-dimensional state; and present theat least the portion of the content in the two-dimensional state inresponse to the change of state of the content.
 13. A computer programproduct comprising: a computer readable storage medium having computerreadable program code embodied therewith, the computer readable programcode comprising: computer readable program code configured to, determinethat at least a portion of content would be obscured by a border of agraphical user interface in which the content is contained if thecontent were to be presented in a two-dimensional state via thegraphical user interface, and present the at least the portion of thecontent in a stereoscopic three-dimensional state after determining thatthe at least the portion of the content would be obscured by the borderof the graphical user interface, wherein a stereoscopic depth effect ofthe stereoscopic three-dimensional state makes the at least the portionof the content that would be obscured appear to extend beyond the borderof the graphical user interface.
 14. The computer program product ofclaim 13, wherein the computer readable program code configured todetermine that the at least the portion of the content would be obscuredby the border of the graphical user interface when presented in thetwo-dimensional state comprises computer readable program codeconfigured to determine that a size of the at least the portion ofcontent would extend beyond a visible region of the graphical userinterface in response to a request to modify the content.
 15. Thecomputer program product of claim 13, wherein the computer readableprogram code configured to present the at least the portion of thecontent in the stereoscopic three-dimensional state comprises computerreadable program code configured to modify visual elements of the atleast the portion of the content to have the stereoscopic depth effect.16. The computer program product of claim 13, wherein the content is atext string having a first portion presented in a window of thegraphical user interface, wherein the border of the graphical userinterface comprises a border of the window, wherein a length of the textstring would increase in response to a change in state of the content,wherein the at least the portion of the content comprises a secondportion of the text string that is obstructed by the border of thewindow when presented in the two-dimensional state, and wherein thecomputer readable program code configured to present the at least theportion of the content in the stereoscopic three-dimensional stateincludes computer readable program code configured to cause the secondportion of the text string to be appear to extend beyond the border ofthe window when presented in the stereoscopic three-dimensional state.17. The computer program product of claim 13, wherein the stereoscopicdepth effect is perceptible by one or more of a three-dimensionalviewing mechanism and an autostereoscopic display.
 18. The computerprogram product of claim 13, wherein the computer readable program codeis further configured to: detect a change of state to the content afterthe at least the portion of the content is presented in the stereoscopicthree-dimensional state, wherein the change of the state would cause theat least the portion of the content to not be obscured by the border ofthe graphical user interface when presented in the two-dimensionalstate; and present the at least the portion of the content in thetwo-dimensional state in response to the change of state of the content.19. The method of claim 4, wherein the text string has a range ofstereoscopic depth, wherein the first portion of the text string has afirst size that indicates a first level of stereoscopic depth within therange of the stereoscopic depth, and wherein the second portion of thetext string has a second size, larger than the first size, thatindicates a second level of stereoscopic depth with the range of thestereoscopic depth.